/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package daw.listener;

import daw.bean.RolUsuario;
import daw.bean.Usuario;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceUnit;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.swing.JOptionPane;

/**
 * Web application lifecycle listener.
 * @author Luis
 */

public class CrearUsuarioInvitado implements HttpSessionListener {

    @PersistenceUnit
    private EntityManagerFactory emf;



    public void sessionCreated(HttpSessionEvent arg0) {
        EntityManager em;

        Usuario usuario;
        RolUsuario rol=null;
        //JOptionPane.showMessageDialog(null, "session creada....");
        //JOptionPane.showMessageDialog(null, (emf!=null));
        //JOptionPane.showMessageDialog(null, "Acaba de crearse la sesión");

        usuario = new Usuario();
        //JOptionPane.showMessageDialog(null, "Acaba de crearse la sesión");
        try{
            em = emf.createEntityManager();
            rol = (RolUsuario)em.createNamedQuery("RolUsuario.loadRolInvitado").getSingleResult();
            em.close();
        }catch(Exception e){
            //JOptionPane.showMessageDialog(null, e.getMessage());
        }
        //JOptionPane.showMessageDialog(null, "Acaba de crearse la sesión");
        if(rol==null){
            rol = new RolUsuario();
            rol.setNombre("Invitado");
        }
        //JOptionPane.showMessageDialog(null, "Acaba de crearse la sesión");
        /**/
        usuario.setRolUsuario(rol);
		try{
        //JOptionPane.showMessageDialog(null, "Acaba de crearse la sesión");
        arg0.getSession().setAttribute("usuario", usuario);
		}catch(Exception e){
		
		}
        //JOptionPane.showMessageDialog(null, "session creada....");
  /**/
    }

    public void sessionDestroyed(HttpSessionEvent arg0) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }
}